package exception

import "rate/common/consts"

// BaseError 系统错误
// 默认错误码
type BaseError struct {
	Code string // 错误码
}

func (error *BaseError) Error() string {
	return error.Code
}

// SystemError 系统错误
// 系统发生异常
type SystemError struct {
	BaseError
}

// NewSystemError 创建系统错误类
func NewSystemError() *SystemError {
	return &SystemError{
		BaseError{
			Code: consts.SystemError,
		},
	}
}

// ParamError 参数错误
type ParamError struct {
	BaseError
}

// NewParamError 创建参数错误
func NewParamError() *SystemError {
	return &SystemError{
		BaseError{
			Code: consts.RepeatName,
		},
	}
}
